$(document).ready(function() {
	
	getDefaultAddress();
	
	// Validate and confirm message before save
	$("#btnSave").click(function(){
		
		$('#error_message').addClass('hide');
		$('#success_message').addClass('hide');
		
		var city = $('#inputContactCityCode').val();
		var district = $('#inputContactDistrictCode').val();
		var province = $('#inputContactProvinceCode').val();
		var postcode = $('#inputPostCode').val();
		
		if(city.length == 0 || district.length == 0 || province.length == 0 || postcode.trim().length == 0)
		{
			$("#content_error").text("กรุณากรอกข้อมูลให้ครบถ้วน");
			$('#error_message').removeClass('hide');
		}
		else if(isNaN(postcode))
		{
			$("#content_error").text("กรุณากรอกข้อมูลให้ถูกต้อง");
			$('#error_message').removeClass('hide');
		}
		else if(postcode.trim().length > 5)
		{
			$("#content_error").text("รหัสไปรษณีย์ต้องมีค่าไม่เกิน 5 ตัวอักษร");
			$('#error_message').removeClass('hide');
		}
		else
		{
			// Show Modal
			var str = "ยืนยันการบันทึกข้อมูลที่อยู่<br>";
			str += "&nbsp;&nbsp;&nbsp;ตำบล : " + $('#inputContactCityCode option:selected').html() + "<br>";
			str += "&nbsp;&nbsp;&nbsp;อำเภอ : " + $('#inputContactDistrictCode option:selected').html() + "<br>";
			str += "&nbsp;&nbsp;&nbsp;จังหวัด : " + $('#inputContactProvinceCode option:selected').html() + "<br>";
			str += "&nbsp;&nbsp;&nbsp;รหัสไปรษณีย์ : " + $('#inputPostCode').val() + "<br>";
			
			$('#modal_content_confirmUpdateModal').html(str);
			$('#confirmUpdateModal').modal();
		}
	});	
	
	// validate and confirm message before delete
	$("#btnDelete").click(function(){
		
		$('#error_message').addClass('hide');
		$('#success_message').addClass('hide');
		
		// Show Modal
		var str = "ยืนยันการลบข้อมูลที่อยู่<br>";
		str += "&nbsp;&nbsp;&nbsp;ตำบล : " + $('#inputContactCityCode option:selected').html() + "<br>";
		str += "&nbsp;&nbsp;&nbsp;อำเภอ : " + $('#inputContactDistrictCode option:selected').html() + "<br>";
		str += "&nbsp;&nbsp;&nbsp;จังหวัด : " + $('#inputContactProvinceCode option:selected').html() + "<br>";
		str += "&nbsp;&nbsp;&nbsp;รหัสไปรษณีย์ : " + $('#inputPostCode').val() + "<br>";
		
		$('#modal_content_confirmModal').html(str);
		$('#confirmModal').modal();
	});	
	
	// province change
	$('#inputContactProvinceCode').change(
	    function() {
			$('#error_message').addClass('hide');
			$('#success_message').addClass('hide');
	    }
	);
	
	// district change
	$('#inputContactDistrictCode').change(
	    function() {
			$('#error_message').addClass('hide');
			$('#success_message').addClass('hide');
	    }
	);
	
	// city change
	$('#inputContactCityCode').change(
	    function() {
			$('#error_message').addClass('hide');
			$('#success_message').addClass('hide');
	    }
	);
	
	// postcode change
	$("#inputPostCode").keyup(function() { 
		$('#error_message').addClass('hide');  
		$('#success_message').addClass('hide'); 
	});

});

function getDefaultAddress()
{
	$.ajax({
		url : 'CS11012Srvl' , 
		type : "POST",
		data : {
			process_type : "getDefaultAddress" , 
		},
		dataType : "json",
		success: function(data){
			if(data.status == "true")
			{
				getProvince(data.vaProvinceCode);
				wait(1000);
				getDistrict(data.vaProvinceCode, data.vaDistrictCode);
				wait(1000);
				getCityCode(data.vaProvinceCode, data.vaDistrictCode, data.vaCityCode);
				
				$('#inputPostCode').val(data.vaPostCode);
				
			}
			else if(data.status == "connect_db_fail")
			{
				// fail to connect database
				$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
				$('#error_message').removeClass('hide');
				
			}
			else
			{
				$("#btnDelete").attr("disabled", true);
			}
		},
		error: function()
		{
			$("#content_error").text("การเรียกข้อมูลผิดพลาด");
			$('#error_message').removeClass('hide');
			
		}
	});
}

function wait(ms) {
    var start = +(new Date());
    while (new Date() - start < ms);
}

function SaveCommand()
{	
	$('#confirmUpdateModal').modal('hide');
	
	var city = $('#inputContactCityCode').val();
	var district = $('#inputContactDistrictCode').val();
	var province = $('#inputContactProvinceCode').val();
	var postcode = $('#inputPostCode').val();
	
	var connect_db = getDbStatus();

	if (connect_db == false) {
		// Connect database fail
		$("#content_error").text("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
		$('#error_message').removeClass('hide');
	}
	else
	{
		$.ajax({
			type : 'POST',
			url : "CS11012Srvl",
			data : {
				process_type : "manageData" , 
				city : city,
				district : district,
				province : province,
				postcode : postcode,
				url_address:$("#url_address").val(), 
				agent_browser:$("#agent_browser").val(),
			},
			async : false,
			success : function(data) 
			{
				if(data == "success")
				{
					$("#content_sucess").text("บันทึกข้อมูลที่อยู่สำเร็จ");
					$('#success_message').removeClass('hide');
					
					$("#btnDelete").attr("disabled", false);
				}
				else
				{
					$("#content_error").text("บันทึกข้อมูลที่อยู่ล้มเหลว");
					$('#error_message').removeClass('hide');
				}
			},
			error : function()
			{
				$("#content_error").text("จัดการข้อมูลผิดพลาด");
				$('#error_message').removeClass('hide');
			}
		});
	}
}

function getDbStatus() {
	var dbStatus = false;
	$.ajax({
		type : 'POST',
		url : "CS11012Srvl",
		data : {
			process_type : "db",
		},
		async : false,
		success : function(data) {
			if(data == "success")
				dbStatus = true;
			else
				dbStatus = false;
		},
		error : function()
		{
			dbStatus = false;
		}
	});
	
	return dbStatus;
}

function DeleteCommand()
{
	$('#confirmModal').modal('hide');
	
	$.ajax({
		url : 'CS11012Srvl' , 
		type : "POST",
		data : {
			process_type : "delete" , 
			url_address:$("#url_address").val(),
			agent_browser:$("#agent_browser").val()
		},
		success: function(data){
			
			if(data == "success")
			{
				// success
				$("#content_sucess").text("การลบข้อมูลที่อยู่สำเร็จ");
				$('#success_message').removeClass('hide');
				
				$('#inputContactCityCode').val("");
				$('#inputContactDistrictCode').val("");
				$('#inputContactProvinceCode').val("");
				$('#inputPostCode').val("");
				
				$("#btnDelete").attr("disabled", true);
			}
			else
			{
				// fail
				$("#content_error").text("การลบข้อมูลที่อยู่ล้มเหลว");
				$('#error_message').removeClass('hide');
			}
			
		},
		error: function()
		{	
			$("#content_error").text("การเรียกข้อมูลผิดพลาด");
			$('#error_message').removeClass('hide');
		}
	});
}
